Skip to content

docs(cell): connecting T3 Code to a tenant with its login on - #7

Merged
kupiainen merged 4 commits into
mainfrom
docs/cell-user-guide-login
Nov 4, 2026
Merged

kupiainen merged 4 commits into
mainfrom
docs/cell-user-guide-login

Conversation

@kupiainen

@kupiainen kupiainen commented Nov 4, 2026 •

Copy link
Copy Markdown

The user guide for the Cell provider (docs/user/providers-cell.md) dates from fork PR #1, before the login era. It said to set Access token "if the tenant requires one", but a deployed vim tenant always does. The working steps were only in docs/internals/provider-cell.md ("The login"). The vim release-gate review of 2026-11-04 (first-user F8) flagged this.

Changes

  • User guide. A new section, "Connecting to a tenant", gives:

    • the four steps: the base URL (the tenant's origin; the bare base domain is the operator's tenant); log in at <base URL>/login, after which the editor opens; Account in the editor's toolbar (or /login again), then Create an API token, shown once; paste it into the instance's Access token;
    • the token's lifetime: 90 days, ended earlier by a reset invite or a suspension, never valid again after; logging out in the browser does not end a token;
    • the tenant's bounds with their defaults and how each clears: model tokens per day (5,000,000) renew at midnight UTC and show as a usage limit; runs at a time (4), each at most 30 minutes, come back when a run ends, and a stopped run keeps what it finished; projects (200, with the helper cells agents delegate to) have no timed reset, and every T3 Code thread and provider status's check take one for good;
    • a helper cell's place comes back once the cleanup that destroys it goes through, which Remove in the agent panel's task list or a task showing "child released" starts; a failed cleanup is said in the agent panel, and the operator can delete the helper's project.

    The status section says provider status checks that the tenant accepts the token, and that the tenant's operator updates an older tenant (not "celld").

  • Settings form. The Access token description says where a token comes from ("Log in at /login, then choose Account → Create an API token"), instead of "Leave empty while the tenant has no authentication".

  • Provider texts. packages/provider-cell/src/server/errors.ts TOKEN_STEPS, which provider status and threads show for a refused token, says "choose Account and then Create an API token"; packages/provider-cell/src/server/status.ts's no-key warning says "until its operator configures OPENAI_API_KEY" (was "on celld").

  • Internals doc. docs/internals/provider-cell.md's step 3 says the login lands in the editor, then Account → Create an API token.

No code paths change; two user-facing strings do.

Verification

  • vp fmt --check on the five files: correct format; vp lint and the provider's typecheck clean; packages/provider-cell tests 113/113 at 08b2833 (the commits after it change only the user guide). adapter.test.ts's checks that a refused token's message includes "Create an API token" still hold.
  • The texts were checked against the vim release-gate integration as it will land (origin/release-gate/integration 6601023, then origin/release-gate/integration2 d926b14), not vim main 328e027: login.js (login → editor, the logged-in page's token button, TOKEN_FROM_TOKEN), web/sandbox.html (Account), config.js defaults, the allowance and runs refusals, cellsFull and lifecycle.js's cap, and the cleanup, release and panel errors.

Merge review (Opus 5.5 medium + GPT-6.1-sol xhigh)

  • Round 1 (08b2833): step 3 sent the user from the login to a page without the token button (must-fix, both reviewers); the bounds paragraph said every bound resets; T3 threads taking projects for good; the 30-minute run limit; "celld" wording.
  • Round 2 (0fb65d4): a helper's place comes back only once its cleanup's release goes through; the second way back ("child released"); a line rewrapped.
  • Round 3 (a72eba0): "child released" is shown when the destroy is owed, before the cleanup lands: both ways now start the cleanup, and the place comes back once it goes through.
  • Round 4: both reviewers MERGE; the final call (Opus 5.5 xhigh) asked for this body to describe the PR as it now is.

Owner note

The Projects bound is vim's TENANT_MAX_CELLS (vim pingdotgg#59), and the helper wording matches vim pingdotgg#57's docs/invitee.md: merge this after both.

🤖 Generated with Claude Code

kupiainen and others added 4 commits November 4, 2026 09:12
…ogin on: the API token from the tenant's Account page, its lifetime, and the tenant's bounds

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… token, and tell the tenant's bounds apart: the allowance renews at midnight UTC, a run slot when a run ends (30 minutes at most), and the 200 projects never, with every thread and the status check taking one

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…released it, by "child released" or a removed task whose cleanup went through, and what to do when it stays taken

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…t destroys it goes through, which a removed task or "child released" starts

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@kupiainen
kupiainen force-pushed the docs/cell-user-guide-login branch from fb34253 to a72eba0 Compare November 4, 2026 14:14
@kupiainen
kupiainen merged commit 4832e65 into main Nov 4, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant